想要操作資料庫的話,我們必須對它下達「指令」,所以必須先來學習它認識的語言,而這個語言就是昨天提到的SQL了哦,讓我們來認識一下SQL的來歷吧!
簡稱SQL,最早的時候是IBM公司在研究一套「System R」資料庫管理系統時,定義出來的語言,其實當時稱為「SEQUEL」,不過在註冊商標時發現,已經有其他航空公司註冊過了,所以也就改名為「SQL」。
SQL主要分為三個類別。
DDL(Data Definition Languages):資料定義語言。
DML(Data Manipulation Language):資料操作語言。
DCL(Data Control Language):資料控制語言。
用來定義資料庫內部的物件,可以對資料庫、表、列、索引進行建立、移除、修改等操作,大部分是DBA(Database Administrator)資料庫管理員會使用到。
常用的指令:create(建立)、drop(移除)、alter(修改)。
先簡單的使用MySQL資料庫操作給大家看看。
EX: 建立資料表「test」,欄位名稱為「id」、「name」。
mysql > create table test(id int ,name varchar(20));
EX: 移除資料表「test」。
mysql > drop table test;
EX:將資料表「test」名稱修改為「test2」。
mysql > alter table test rename test2;
可以對資料表的紀錄做新增、刪除、更新、查詢等操作,是開發人員最常使用的。
常用的指令:insert(新增)、delete(刪除)、update(更新)、select(查詢)。
EX: 在資料表「test」中新增一筆id為「1」,Name為「Nini」的紀錄。
mysql > insert into test values(1, 'Nini');
EX:將資料表「test」中,將name為「Nini」的紀錄刪除。
mysql > delete from test where name= 'Nini ';
EX:將「Nini」的id更新為「2」。
mysql > update test set id=2 where name= 'Nini ';
EX:查詢資料表「test」中所有資料。
「*」表示全部欄位
mysql > select * from test;
用來控制不同資料庫、表、使用者的存取權限。
常用的指令:grant(給予權限)、revoke(收回權限)。
EX:給予使用者「Andy」有查詢資料庫「test01」中「test」資料表的權限。
mysql > grant select on test01.test to 'andy ';
EX:收回使用者「Andy」對資料庫「test01」中「test」表的查詢權限。
mysql > revoke select on test01.test from 'andy ';
現在對SQL語法都有基本的認識了,再來我們就來認識一下資料的型態吧!